package my.Interfaces;

import java.io.BufferedReader;
import java.io.FileWriter;

/**
 * @author 星环
 * @date 2022/11/2 13:42:11
 * @description 实现这个接口的Vo表示它是可存取的，应该使用提供的流存入/读取自己，这被称为桥接模式
 */
public interface Savable<T> {
    /**
     * 向{@code fileWriter}写入自己,并保证写入的数据仍可以由readBy读入
     * @param fileWriter 用于写入文件的流，应该已经开好了文件
     */
     void saveBy(FileWriter fileWriter);

    /**
     * 尝试由fileReader读入自己的每一条属性
     * @param fileReader 用于读取自己的流
     * @return 返回读取是否成功
     */
    boolean readBy(BufferedReader fileReader);
}
